<template>
  <div class="center fs30 pt100">Promise</div>
</template>

<script>
  export default {
    name: "promise",
    mounted(){

      // es5 异步回调s
      {
        // a执行完执行b b执行完执行c ...  回调地狱 阅读困难 无法维护 只有重构
        // function ajax(callback){
        //   console.log('执行')
        //   setTimeout(function () {
        //     var data = '%%%接口返回的数据%%%'
        //     callback && callback(data)
        //   },1000)
        // }
        // ajax(function (data) {
        //   console.log(data)
        // })
      }
      // es5 异步回调e

      // es5 异步回调s 回调地狱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱
      // {
      //   // a执行完执行b b执行完执行c ...  回调地狱 阅读困难 无法维护 只有重构
      //   function ajax(callback){
      //     console.log('执行')
      //     setTimeout(function () {
      //       var data = '%%%接口返回的数据%%%--1'
      //       callback && callback(data)
      //     },1000)
      //   }
      //
      //   ajax(function (data) {
      //     console.log(data)
      //     ajax(function (data) {
      //       console.log(data)
      //       ajax(function (data) {
      //         console.log(data)
      //         ajax(function (data) {
      //           console.log(data)
      //           ajax(function (data) {
      //             console.log(data)
      //             ajax(function (data) {
      //               console.log(data)
      //               ajax(function (data) {
      //                 console.log(data)
      //                 ajax(function (data) {
      //                   console.log(data)
      //                 })
      //               })
      //             })
      //           })
      //         })
      //       })
      //     })
      //   })
      // }
      // es5 异步回调e 回调地狱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱

      // es6 promise s
      {
        // function ajax(callback){
        //   console.log('执行')
        //   return new Promise(function (resolve, reject) {
        //     setTimeout(function () {
        //       var data = '%%%接口返回的数据%%%'
        //       resolve(data)
        //     },1000)
        //   })
        // }
        // ajax().then(function (data) {
        //   console.log(data)
        // })
      }
      // es6 promise e

      // es6 promise s
      // {
      //   function ajax(){
      //     console.log('执行')
      //     return new Promise(function (resolve, reject) {
      //       setTimeout(function () {
      //         var data = '%%%接口返回的数据%%%--1'
      //         resolve(data)
      //       },1000)
      //     })
      //   }
      //   ajax().then(function (data) {
      //     console.log(data)
      //     return new Promise(function (resolve, reject) {
      //       setTimeout(function () {
      //         var data = '%%%接口返回的数据%%%--2'
      //         resolve(data)
      //       },1000)
      //     })
      //   }).then(function (data) {
      //     console.log(data)
      //     return new Promise(function (resolve, reject) {
      //       setTimeout(function () {
      //         var data = '%%%接口返回的数据%%%--3'
      //         resolve(data)
      //       },1000)
      //     })
      //   }).then(function (data) {
      //     console.log(data)
      //   })
      // }
      // es6 promise e
    },

    async created(){
      {
        function ajax(){
          return new Promise(function (resolve, reject) {
            setTimeout(function () {
              var data = '%%%接口返回的数据%%%'
              resolve(data)
            },1000)
          })
        }

        var data1 = await ajax()
        console.dir(data1, '--1')
        var data2 = await ajax()
        console.log(data2, '--2')
        var data3 = await ajax()
        console.log(data3, '--3')

      }
    },

    methods:{



    }

  }
</script>

<style scoped>

</style>